From: robertl Date: Fri, 18 Jun 2010 15:17:39 +0000 (+0000) Subject: Eriks Zelenka contributes Garmin XT format. X-Git-Tag: archive/raspbian/1.10.0+ds-2+rpi1~1^2~12^2~17^2~10 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=38def5ee3c01847c83b588155bab76ad413fa3ff;p=gpsbabel.git Eriks Zelenka contributes Garmin XT format. --- diff --git a/Makefile.in b/Makefile.in index 99f7981b8..53c9eec2d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -65,7 +65,7 @@ ALL_FMTS=$(MINIMAL_FMTS) gtm.o gpsutil.o pcx.o cetus.o copilot.o \ jtr.o sbp.o sbn.o mmo.o skyforce.o itracku.o v900.o delbin.o \ pocketfms_bc.o pocketfms_fp.o pocketfms_wp.o naviguide.o enigma.o \ vpl.o teletype.o jogmap.o bushnell.o bushnell_trl.o wintec_tes.o \ - subrip.o \ + subrip.o garmin_xt.o \ FMTS=@FMTS@ @@ -530,6 +530,7 @@ garmin_txt.o: garmin_txt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h grtcirc.h \ jeeps/gpsmath.h strptime.h +garmin_xt.o: garmin_xt.c defs.h gbfile.o: gbfile.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h gbser.o: gbser.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ diff --git a/garmin_xt.c b/garmin_xt.c new file mode 100644 index 000000000..9fbdf63e0 --- /dev/null +++ b/garmin_xt.c @@ -0,0 +1,439 @@ +/* + + Copyright (C) 2010 Eriks Zelenka, isindir@users.sourceforge.net + Copyright (C) 2009 jekaeff, + GMXT2GPX ( http://www.geocaching.hu/users.geo?id=9508 ; http://sites.google.com/site/jekaeff/eng-1 ) + The original code written in Pascal and does not include specific License, however on the project + webpage it is said to be OpenSource/Libre software + Copyright (C) 2005 Robert Lipe, robertlipe@usa.net + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#include "defs.h" +#include + +#define MYNAME "Garmin_XT" +#define GARMIN_XT_ELE 31500/65536 +#define DATABLOCKSIZE 1 +#define STRK_BLOCK_SIZE 97 + +static int colors[] = { + 0x000000, // Black + 0x00008b, // DarkRed + 0x006400, // DarkGreen + 0x00d7ff, // Gold + 0x8b0000, // DarkBlue + 0x8b008b, // DarkMagenta + 0x8b8b00, // DarkCyan + 0xd3d3d3, // LightGray + 0xa9a9a9, // DarkGray + 0x0000ff, // Red + 0x00ff00, // Green + 0x00ffff, // Yellow + 0xff0000, // Blue + 0xff00ff, // Magenta + 0xffff00, // Cyan + 0xffffff // White +}; + +static gbfile *fin; +static route_head *track; +static char *opt_xt_ftype = NULL; +static char *opt_trk_header = NULL; + +static +arglist_t format_garmin_xt_args[] = { + {"ftype", &opt_xt_ftype, "Garmin Mobile XT ([ATRK]/STRK)", "ATRK", ARGTYPE_STRING | ARGTYPE_REQUIRED, ARG_NOMINMAX}, + // TODO: SHIFT - can't test behaviour, do not have appropriate files + //{"trk_header_opt", &opt_trk_header, "Track name processing option ([0]-nrm/1-ign/2-sht)", "0", ARGTYPE_INT, ARG_NOMINMAX}, + {"trk_header", &opt_trk_header, "Track name processing option ([0]-nrm/1-ign)", "0", ARGTYPE_INT, ARG_NOMINMAX}, + ARG_TERMINATOR +}; + +/******************************************************************************* + * %%% global callbacks called by gpsbabel main process %%% * + *******************************************************************************/ + +/******************************************************************************* + * %%% Reader callbacks %%% * + *******************************************************************************/ +static void +format_garmin_xt_rd_init(const char *fname) +{ + fin = gbfopen(fname, "rb", MYNAME); +} + +static void +format_garmin_xt_rd_deinit(void) +{ + gbfclose(fin); +} + +static uint16_t +format_garmin_xt_rd_st_attrs(char *p_trk_name, unsigned char *p_track_color) +{ + int method = 0; + uint16_t trackbytes = 0, TrackPoints = 0; + unsigned char spam = 0; + int32_t TrackMaxLat = 0, TrackMaxLon = 0, TrackMinLat = 0, TrackMinLon = 0; + char trk_name[30]=""; + // TODO: SHIFT - can't test behaviour, do not have appropriate files + //int ii; + + // get the option for the processing the track name + if ( opt_trk_header ) + { + method = atoi(opt_trk_header); + // if method is out of range set to default + if ((method < 0) || (method > 1)) + { + method = 0; + } + } + // set to RED if not specified + *p_track_color=9; + + gbfread(&trackbytes, 2, DATABLOCKSIZE, fin); + gbfread(&TrackPoints, 2, DATABLOCKSIZE, fin); + + switch (method) + { + case 1: break; // IGNORE + /* TODO: SHIFT - can't test behaviour, do not have appropriate files + case 2: { // SHIFTED method + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&trk_name, 30, DATABLOCKSIZE, fin); + gbfseek(fin, -1, SEEK_CUR); + for (ii = 0; ii<29; ii++) + { + trk_name[ii] = (trk_name[ii] >> 2) + ( trk_name[ii+1] % 4 ) * 64; + } + } + break; + */ + default: { // NORMAL + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&trk_name, 30, DATABLOCKSIZE, fin); + gbfseek(fin, -1, SEEK_CUR); + } + break; + } + gbfread(&spam, 1, DATABLOCKSIZE, fin); + + gbfread(&TrackMaxLat, 3, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&TrackMaxLon, 3, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&TrackMinLat, 3, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&TrackMinLon, 3, DATABLOCKSIZE, fin); + gbfread(p_track_color, 1, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + + strcpy( p_trk_name, trk_name ); + return trackbytes; +} + +/* + * Function to decrypt track block in saved read from saved tracks file + */ +static void +format_garmin_xt_decrypt_trk_blk(int Count, unsigned char TrackBlock[]) +{ + unsigned char i,j = 12; + while (j<(Count-1)) + { + for ( i = j; i < Count; i++) + { + TrackBlock[i] = TrackBlock[i] >> 1; + if (i<(Count)) + { + TrackBlock[i] = TrackBlock[i] + (TrackBlock[i+1] % 2) * 128; + } + } + j+=12; + } +} + +/* + * Function to Decompose track block of STRK_BLOCK_SIZE bytes + */ +static void +format_garmin_xt_decomp_trk_blk(unsigned char ii, unsigned char TrackBlock[], double *Ele, double *Lat, double *Lon, uint32_t *Time) +{ + uint32_t LatLW = 0, LonLW = 0, TimeLW = 0; + double LatF = 0, LonF = 0; + uint16_t PrevEleW; + + //printf("%d %d %d %d %d %d\n", TrackBlock[0], TrackBlock[1], TrackBlock[2], TrackBlock[3], TrackBlock[4], TrackBlock[5]); + PrevEleW = TrackBlock[ ( ii - 1 ) * 12 + 1 ]; + PrevEleW = PrevEleW << 8; + PrevEleW = PrevEleW + TrackBlock[ ( ii - 1 ) * 12 ]; + *Ele = (double)PrevEleW * GARMIN_XT_ELE - 1500; + + LatLW = TrackBlock[(ii - 1) * 12 + 4]; + LatLW = LatLW << 8; + LatLW = LatLW + TrackBlock[(ii - 1) * 12 + 3]; + LatLW = LatLW << 8; + LatLW = LatLW + TrackBlock[(ii - 1) * 12 + 2]; + LatF = (double)LatLW; + if (LatF > 8388608) + { + LatF = LatF - 16777216; + } + *Lat = LatF * 360 / 16777216; + + LonLW = TrackBlock[(ii-1)*12+7]; + LonLW = LonLW << 8; + LonLW = LonLW+TrackBlock[(ii-1)*12+6]; + LonLW = LonLW << 8; + LonLW = LonLW+TrackBlock[(ii-1)*12+5]; + LonF = (double)LonLW; + if (LonF>8388608) + { + LonF = LonF - 16777216; + } + *Lon = LonF * 360 / 16777216; + + TimeLW = TrackBlock[(ii - 1) * 12 + 11]; + TimeLW = TimeLW << 8; + TimeLW = TimeLW+TrackBlock[(ii - 1) * 12 + 10]; + TimeLW = TimeLW << 8; + TimeLW = TimeLW+TrackBlock[(ii - 1) * 12 + 9]; + TimeLW = TimeLW << 8; + TimeLW = TimeLW + TrackBlock[(ii - 1) * 12 + 8]; + *Time = TimeLW + 631065600; +} + +/* + * Decompose Last Waypoint Eleveation + */ +static void +format_garmin_xt_decomp_last_ele(unsigned char ii, double *PrevEle, unsigned char TrackBlock[]) +{ + uint16_t PrevEleW; + + PrevEleW = TrackBlock[ii - 1]; + PrevEleW = PrevEleW << 8; + PrevEleW = PrevEleW + TrackBlock[ii - 2]; + *PrevEle = (double)PrevEleW * GARMIN_XT_ELE - 1500; +} + +/* + * Main Function to process Saved tracks file + */ +static void +format_garmin_xt_proc_strk(void) +{ + int Count = 0; // Used to obtain number of read bytes + int NumberOfTracks = 0, TracksCompleted = 0; // Number of tracks in the file and number of processed tracks + uint16_t trackbytes = 0; // Bytes in track + unsigned char TrackBlock[STRK_BLOCK_SIZE]; // File Block + unsigned char ii; // temp variable + double Lat = 0, Lon = 0; // wpt data + double PrevLat = 0, PrevLon = 0, PrevEle = 0; // wpt data + uint32_t Time = 0, PrevTime =0; // wpt data + int FirstCoo; + unsigned char trk_color = 0xff; + + // Skip 12 bytes from the BOF + gbfseek(fin, 12, SEEK_SET); + + // read # of tracks + gbfread(&NumberOfTracks, 2, DATABLOCKSIZE, fin); + + // Skip 2 bytes + gbfseek(fin, 2, SEEK_CUR); + + // Process all tracks one by one + while ((TracksCompleted < NumberOfTracks) && (!gbfeof( fin ) ) ) + { + route_head *tmp_track; + waypoint *wpt; + char *trk_name; + trk_name = xmalloc(30); + + // Generate Track Header + trackbytes = format_garmin_xt_rd_st_attrs(trk_name, &trk_color) - 50; + + tmp_track = route_head_alloc(); + // update track color + tmp_track->line_color.bbggrr = colors[trk_color]; + tmp_track->line_color.opacity = 255; + // update track name + tmp_track->rte_name = trk_name; + track_add_head(tmp_track); + + // This is the 1st coordinate of the track + FirstCoo = TRUE; + while (trackbytes>0) + { + if (trackbytes>=STRK_BLOCK_SIZE) + { + Count = gbfread(&TrackBlock, DATABLOCKSIZE, STRK_BLOCK_SIZE, fin); + trackbytes -= STRK_BLOCK_SIZE; + } + else + { + Count = gbfread(&TrackBlock, DATABLOCKSIZE, trackbytes, fin); + trackbytes = 0; + } + + // decrypt loaded track block (Count - size of loaded TrackBlock) + format_garmin_xt_decrypt_trk_blk(Count, TrackBlock); + + // process each track point in the loaded TrackBlock + for (ii=1; ii <= ((Count-1) / 12); ii++) + { + // decompose loaded track block part (track point) + format_garmin_xt_decomp_trk_blk(ii, TrackBlock, &PrevEle, &Lat, &Lon, &Time); + + // Add point to the track if not the first point + if (!FirstCoo) + { + //create new waypoint + wpt = waypt_new(); + + //populate wpt; + wpt->latitude = PrevLat; /* Degrees */ + wpt->longitude = PrevLon; /* Degrees */ + wpt->altitude = PrevEle; /* Meters. */ + wpt->creation_time = Time; /* Unix Time adjusted to Garmin time */ + + // add way point to the track + track_add_wpt(tmp_track, wpt); + } + else + { + FirstCoo = FALSE; + } + PrevLat = Lat; + PrevLon = Lon; + PrevTime = Time; + } + } + + // decompose elevation for the last point + if (Count > 12) + { + Count--; + } + format_garmin_xt_decomp_last_ele(Count, &PrevEle, TrackBlock); + + //create new waypoint + wpt = waypt_new(); + + //populate wpt; + wpt->latitude = PrevLat; /* Degrees */ + wpt->longitude = PrevLon; /* Degrees */ + wpt->altitude = PrevEle; /* Meters. */ + wpt->creation_time = Time; /* Unix Time adjusted to Garmin time */ + + // add way point to the track + track_add_wpt(tmp_track, wpt); + + // update completed tracks counter + TracksCompleted++; + } +} + +static void +format_garmin_xt_proc_atrk(void) +{ + uint16_t block=0, uu=0; + uint32_t Lat=0, Lon=0; + uint32_t Tim=0; + double LatF = 0, LonF = 0, AltF = 0; + waypoint *wpt; + int method = 0; + + // get the option for the processing the track name + if ( opt_trk_header ) + { + method = atoi(opt_trk_header); + } + + if (! track) { + track = route_head_alloc(); + // header option was not set to ignore + if ( method !=1 ) + { + track->rte_name = xstrdup("ATRK XT"); + } + track_add_head(track); + } + + // Skip 18 bytes + gbfseek(fin, 18, SEEK_SET); + while (!gbfeof( fin ) ) { + gbfread(&Lat, 3, DATABLOCKSIZE, fin); //1. Lat + gbfread(&Lon, 3, DATABLOCKSIZE, fin); //2. Lon + gbfread(&uu, 2, DATABLOCKSIZE, fin); //3. Ele + gbfread(&Tim, 4, DATABLOCKSIZE, fin); //4. Garmin Time + gbfread(&block, 2, DATABLOCKSIZE, fin); //0. ?Record delimiter? + + Tim += 631065600; // adjustment to UnixTime + LatF = Lat; + if (LatF>8388608) {LatF -= 16777216;}; + LonF = Lon; + if (LonF>8388608) {LonF -= 16777216;}; + AltF = (double)uu * GARMIN_XT_ELE - 1500; + + //create new waypoint + wpt = waypt_new(); + + //populate wpt; + wpt->latitude = LatF*180/16777216; /* Degrees */ + wpt->longitude = LonF*360/16777216; /* Degrees */ + wpt->altitude = AltF; /* Meters. */ + wpt->creation_time = Tim; /* Unix Time adjusted to Garmin time */ + + track_add_wpt(track, wpt); + } +} + +static void +format_garmin_xt_read(void) +{ + // Saved Tracks file + if ( strcmp(opt_xt_ftype, "STRK") == 0 ) + format_garmin_xt_proc_strk(); + else // Active Track file + format_garmin_xt_proc_atrk(); +} + +/**************************************************************************/ + +ff_vecs_t format_garmin_xt_vecs = { + ff_type_file, + { + ff_cap_none /* waypoints */, + ff_cap_read /* tracks */, + ff_cap_none /* routes */ + }, + format_garmin_xt_rd_init, + NULL, + format_garmin_xt_rd_deinit, + NULL, + format_garmin_xt_read, + NULL, + NULL, + format_garmin_xt_args, + CET_CHARSET_ASCII, 0 /* ascii is the expected character set */ + /* not fixed, can be changed through command line parameter */ +}; +/**************************************************************************/ diff --git a/reference/track/GARMIN_ATRK.NVM b/reference/track/GARMIN_ATRK.NVM new file mode 100644 index 000000000..4d8ddc526 Binary files /dev/null and b/reference/track/GARMIN_ATRK.NVM differ diff --git a/reference/track/GARMIN_STRK.NVM b/reference/track/GARMIN_STRK.NVM new file mode 100644 index 000000000..a9c241ac3 Binary files /dev/null and b/reference/track/GARMIN_STRK.NVM differ diff --git a/reference/track/garmin_xt_atrk.gpx b/reference/track/garmin_xt_atrk.gpx new file mode 100644 index 000000000..933b0eae8 --- /dev/null +++ b/reference/track/garmin_xt_atrk.gpx @@ -0,0 +1,671 @@ + + + + + + ATRK XT + + + 74.134827 + + + + 70.770264 + + + + 61.637878 + + + + 61.637878 + + + + 40.489197 + + + + 40.489197 + + + + 41.450500 + + + + 41.450500 + + + + 42.411804 + + + + 43.373108 + + + + 43.853760 + + + + 44.815063 + + + + 45.295715 + + + + 46.257019 + + + + 47.218323 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 51.063538 + + + + 51.544189 + + + + 52.505493 + + + + 52.986145 + + + + 52.986145 + + + + 53.947449 + + + + 53.947449 + + + + 54.908752 + + + + 54.908752 + + + + 55.389404 + + + + 55.870056 + + + + 56.350708 + + + + 56.350708 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.273315 + + + + 58.753967 + + + + 58.273315 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 60.195923 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 59.715271 + + + + 60.195923 + + + + 61.637878 + + + + 61.637878 + + + + 61.157227 + + + + 61.157227 + + + + 61.157227 + + + + 60.195923 + + + + 58.273315 + + + + 57.312012 + + + + 56.350708 + + + + 56.350708 + + + + 54.908752 + + + + 55.389404 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.753967 + + + + 59.715271 + + + + 60.195923 + + + + 60.195923 + + + + 60.676575 + + + + 61.157227 + + + + 61.157227 + + + + 61.637878 + + + + 62.599182 + + + + 63.079834 + + + + 64.041138 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 71.731567 + + + + 72.692871 + + + + 74.134827 + + + + 73.654175 + + + + 72.212219 + + + + 70.770264 + + + + 70.770264 + + + + 69.808960 + + + + 68.847656 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 71.250916 + + + + 72.692871 + + + + 73.654175 + + + + 76.057434 + + + + 77.980042 + + + + 78.941345 + + + + 79.902649 + + + + 79.902649 + + + + 80.383301 + + + + 80.383301 + + + + 79.902649 + + + + 78.941345 + + + + 77.980042 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 77.018738 + + + + 77.499390 + + + + 77.499390 + + + + 77.499390 + + + + 78.460693 + + + + 78.460693 + + + + 78.941345 + + + + 79.421997 + + + + 79.902649 + + + + 80.383301 + + + + 80.863953 + + + + 81.344604 + + + + 82.305908 + + + + 84.709167 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.631775 + + + + 87.112427 + + + + 88.073730 + + + + 87.593079 + + + + 87.112427 + + + + 86.151123 + + + + 85.670471 + + + + 84.709167 + + + + 84.228516 + + + + 83.267212 + + + + 82.305908 + + + + 82.305908 + + + + 81.825256 + + + + 81.825256 + + + + 81.344604 + + + + 81.344604 + + + + 79.902649 + + + + 78.941345 + + + + 78.941345 + + + + + diff --git a/reference/track/garmin_xt_atrk.gpx.rej b/reference/track/garmin_xt_atrk.gpx.rej new file mode 100644 index 000000000..3666b98ee --- /dev/null +++ b/reference/track/garmin_xt_atrk.gpx.rej @@ -0,0 +1,674 @@ +*************** +*** 0 **** +--- 1,671 ---- ++ ++ ++ ++ ++ ++ ATRK XT ++ ++ ++ 74.134827 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 62.599182 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.421997 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.863953 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.631775 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 88.073730 ++ ++ ++ ++ 87.593079 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ ++ diff --git a/reference/track/garmin_xt_strk.gpx b/reference/track/garmin_xt_strk.gpx new file mode 100644 index 000000000..35c4012a9 --- /dev/null +++ b/reference/track/garmin_xt_strk.gpx @@ -0,0 +1,3852 @@ + + + + + + 01234567890123456789012345678 + + + 74.134827 + + + + 70.770264 + + + + 61.637878 + + + + 61.637878 + + + + 40.489197 + + + + 40.489197 + + + + 41.450500 + + + + 41.450500 + + + + 42.411804 + + + + 43.373108 + + + + 43.853760 + + + + 44.815063 + + + + 45.295715 + + + + 46.257019 + + + + 47.218323 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 51.063538 + + + + 51.544189 + + + + 52.505493 + + + + 52.986145 + + + + 52.986145 + + + + 53.947449 + + + + 53.947449 + + + + 54.908752 + + + + 54.908752 + + + + 55.389404 + + + + 55.870056 + + + + 56.350708 + + + + 56.350708 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.273315 + + + + 58.753967 + + + + 58.273315 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 60.195923 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 59.715271 + + + + 60.195923 + + + + 61.637878 + + + + 61.637878 + + + + 61.157227 + + + + 61.157227 + + + + 61.157227 + + + + 60.195923 + + + + 58.273315 + + + + 57.312012 + + + + 56.350708 + + + + 56.350708 + + + + 54.908752 + + + + 55.389404 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.753967 + + + + 59.715271 + + + + 60.195923 + + + + 60.195923 + + + + 60.676575 + + + + 61.157227 + + + + 61.157227 + + + + 61.637878 + + + + 62.599182 + + + + 63.079834 + + + + 64.041138 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 71.731567 + + + + 72.692871 + + + + 74.134827 + + + + 73.654175 + + + + 72.212219 + + + + 70.770264 + + + + 70.770264 + + + + 69.808960 + + + + 68.847656 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 71.250916 + + + + 72.692871 + + + + 73.654175 + + + + 76.057434 + + + + 77.980042 + + + + 78.941345 + + + + 79.902649 + + + + 79.902649 + + + + 80.383301 + + + + 80.383301 + + + + 79.902649 + + + + 78.941345 + + + + 77.980042 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 77.018738 + + + + 77.499390 + + + + 77.499390 + + + + 77.499390 + + + + 78.460693 + + + + 78.460693 + + + + 78.941345 + + + + 79.421997 + + + + 79.902649 + + + + 80.383301 + + + + 80.863953 + + + + 81.344604 + + + + 82.305908 + + + + 84.709167 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.631775 + + + + 87.112427 + + + + 88.073730 + + + + 87.593079 + + + + 87.112427 + + + + 86.151123 + + + + 85.670471 + + + + 84.709167 + + + + 84.228516 + + + + 83.267212 + + + + 82.305908 + + + + 82.305908 + + + + 81.825256 + + + + 81.825256 + + + + 81.344604 + + + + 81.344604 + + + + 79.902649 + + + + 78.941345 + + + + 78.941345 + + + + + + 2 tracks + + + 74.134827 + + + + 70.770264 + + + + 61.637878 + + + + 61.637878 + + + + 40.489197 + + + + 40.489197 + + + + 41.450500 + + + + 41.450500 + + + + 42.411804 + + + + 43.373108 + + + + 43.853760 + + + + 44.815063 + + + + 45.295715 + + + + 46.257019 + + + + 47.218323 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 51.063538 + + + + 51.544189 + + + + 52.505493 + + + + 52.986145 + + + + 52.986145 + + + + 53.947449 + + + + 53.947449 + + + + 54.908752 + + + + 54.908752 + + + + 55.389404 + + + + 55.870056 + + + + 56.350708 + + + + 56.350708 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.273315 + + + + 58.753967 + + + + 58.273315 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 60.195923 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 59.715271 + + + + 60.195923 + + + + 61.637878 + + + + 61.637878 + + + + 61.157227 + + + + 61.157227 + + + + 61.157227 + + + + 60.195923 + + + + 58.273315 + + + + 57.312012 + + + + 56.350708 + + + + 56.350708 + + + + 54.908752 + + + + 55.389404 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.753967 + + + + 59.715271 + + + + 60.195923 + + + + 60.195923 + + + + 60.676575 + + + + 61.157227 + + + + 61.157227 + + + + 61.637878 + + + + 62.599182 + + + + 63.079834 + + + + 64.041138 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 71.731567 + + + + 72.692871 + + + + 74.134827 + + + + 73.654175 + + + + 72.212219 + + + + 70.770264 + + + + 70.770264 + + + + 69.808960 + + + + 68.847656 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 71.250916 + + + + 72.692871 + + + + 73.654175 + + + + 76.057434 + + + + 77.980042 + + + + 78.941345 + + + + 79.902649 + + + + 79.902649 + + + + 80.383301 + + + + 80.383301 + + + + 79.902649 + + + + 78.941345 + + + + 77.980042 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 77.018738 + + + + 77.499390 + + + + 77.499390 + + + + 77.499390 + + + + 78.460693 + + + + 78.460693 + + + + 78.941345 + + + + 79.421997 + + + + 79.902649 + + + + 80.383301 + + + + 80.863953 + + + + 81.344604 + + + + 82.305908 + + + + 84.709167 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.631775 + + + + 87.112427 + + + + 88.073730 + + + + 87.593079 + + + + 87.112427 + + + + 86.151123 + + + + 85.670471 + + + + 84.709167 + + + + 84.228516 + + + + 83.267212 + + + + 82.305908 + + + + 82.305908 + + + + 81.825256 + + + + 81.825256 + + + + 81.344604 + + + + 81.344604 + + + + 79.902649 + + + + 78.941345 + + + + 78.941345 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 72.212219 + + + + 71.250916 + + + + 71.731567 + + + + 71.250916 + + + + 71.731567 + + + + 72.692871 + + + + 72.212219 + + + + 72.692871 + + + + 73.173523 + + + + 73.173523 + + + + 73.654175 + + + + 74.134827 + + + + 74.615479 + + + + 74.615479 + + + + 73.173523 + + + + 72.692871 + + + + 73.173523 + + + + 72.692871 + + + + 72.692871 + + + + 72.212219 + + + + 72.692871 + + + + 72.692871 + + + + 72.692871 + + + + 72.212219 + + + + 72.212219 + + + + 72.212219 + + + + 71.250916 + + + + 70.289612 + + + + 70.770264 + + + + 70.289612 + + + + 70.289612 + + + + 69.328308 + + + + 68.847656 + + + + 68.367004 + + + + 67.886353 + + + + 67.886353 + + + + 67.886353 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 70.770264 + + + + 70.770264 + + + + 72.212219 + + + + 72.692871 + + + + 73.654175 + + + + 73.173523 + + + + 74.134827 + + + + 75.096130 + + + + 75.576782 + + + + 75.576782 + + + + 75.576782 + + + + 75.096130 + + + + 74.615479 + + + + 75.096130 + + + + 74.615479 + + + + 75.096130 + + + + 74.615479 + + + + 74.615479 + + + + 73.654175 + + + + 73.173523 + + + + 73.173523 + + + + 73.173523 + + + + 72.692871 + + + + 72.212219 + + + + 72.692871 + + + + 73.173523 + + + + 73.173523 + + + + 72.692871 + + + + 72.212219 + + + + 71.250916 + + + + 70.289612 + + + + 70.770264 + + + + 71.250916 + + + + 71.250916 + + + + 71.731567 + + + + 71.731567 + + + + 70.289612 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 68.367004 + + + + 67.886353 + + + + 66.925049 + + + + 66.444397 + + + + 66.925049 + + + + 66.925049 + + + + 67.405701 + + + + 67.886353 + + + + 68.367004 + + + + 68.367004 + + + + 68.847656 + + + + 68.847656 + + + + 68.847656 + + + + 68.367004 + + + + 68.367004 + + + + 67.886353 + + + + 68.847656 + + + + 69.808960 + + + + 69.808960 + + + + 70.770264 + + + + 70.289612 + + + + 70.770264 + + + + 71.250916 + + + + 71.731567 + + + + 72.212219 + + + + 73.173523 + + + + 73.173523 + + + + 73.654175 + + + + 74.615479 + + + + 74.615479 + + + + 74.134827 + + + + 74.615479 + + + + 74.615479 + + + + 74.615479 + + + + 74.615479 + + + + 75.096130 + + + + 75.576782 + + + + 75.576782 + + + + 74.615479 + + + + 74.615479 + + + + 74.134827 + + + + 73.654175 + + + + 73.654175 + + + + 73.654175 + + + + 77.499390 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 76.057434 + + + + 75.576782 + + + + 75.096130 + + + + 75.096130 + + + + 74.615479 + + + + 73.173523 + + + + 73.173523 + + + + 72.692871 + + + + 71.731567 + + + + 70.770264 + + + + 68.847656 + + + + 68.847656 + + + + 68.847656 + + + + 68.847656 + + + + 68.367004 + + + + 68.367004 + + + + 68.367004 + + + + 68.367004 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 70.770264 + + + + 70.770264 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 70.770264 + + + + 70.289612 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 70.289612 + + + + 69.328308 + + + + 67.405701 + + + + 66.925049 + + + + 66.925049 + + + + 66.925049 + + + + 65.963745 + + + + 65.483093 + + + + 65.483093 + + + + 65.002441 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.483093 + + + + 65.002441 + + + + 64.041138 + + + + 64.521790 + + + + 65.002441 + + + + 65.002441 + + + + 65.002441 + + + + 65.483093 + + + + 66.925049 + + + + 66.925049 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 67.886353 + + + + 66.925049 + + + + 65.483093 + + + + 64.521790 + + + + 64.041138 + + + + 63.079834 + + + + 62.118530 + + + + 62.118530 + + + + 61.637878 + + + + 61.157227 + + + + 60.195923 + + + + 59.234619 + + + + 57.792664 + + + + 57.312012 + + + + 55.870056 + + + + 54.428101 + + + + 53.947449 + + + + 52.986145 + + + + 51.063538 + + + + 50.102234 + + + + 50.582886 + + + + 49.140930 + + + + 47.218323 + + + + 46.257019 + + + + 44.815063 + + + + 44.815063 + + + + 45.295715 + + + + 45.295715 + + + + 45.295715 + + + + 45.295715 + + + + 44.815063 + + + + 44.815063 + + + + 44.815063 + + + + 45.295715 + + + + 45.295715 + + + + 45.295715 + + + + 46.257019 + + + + 46.257019 + + + + 46.257019 + + + + 47.218323 + + + + 46.737671 + + + + 47.698975 + + + + 47.698975 + + + + 47.698975 + + + + 47.698975 + + + + 48.179626 + + + + 48.179626 + + + + 47.698975 + + + + 47.698975 + + + + 48.179626 + + + + 48.660278 + + + + 50.582886 + + + + 52.024841 + + + + 53.466797 + + + + 53.947449 + + + + 53.947449 + + + + 53.947449 + + + + 64.521790 + + + + 64.041138 + + + + 62.118530 + + + + 61.637878 + + + + 60.676575 + + + + 63.079834 + + + + 64.041138 + + + + 63.560486 + + + + 62.118530 + + + + 59.234619 + + + + 57.792664 + + + + 57.792664 + + + + 51.544189 + + + + 51.544189 + + + + 50.582886 + + + + 49.621582 + + + + 49.621582 + + + + 50.102234 + + + + 49.621582 + + + + 49.140930 + + + + 48.179626 + + + + 48.179626 + + + + 47.698975 + + + + 47.698975 + + + + 47.218323 + + + + 47.698975 + + + + 48.179626 + + + + 51.063538 + + + + 52.505493 + + + + 53.947449 + + + + 52.505493 + + + + 52.024841 + + + + 52.505493 + + + + 54.908752 + + + + 56.831360 + + + + 58.753967 + + + + 63.079834 + + + + 69.328308 + + + + 69.328308 + + + + 114.509583 + + + + 103.454590 + + + + 103.454590 + + + + 92.880249 + + + + 92.880249 + + + + 92.880249 + + + + 85.189819 + + + + 83.267212 + + + + 79.902649 + + + + 76.057434 + + + + 73.654175 + + + + 71.250916 + + + + 71.250916 + + + + 70.289612 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.328308 + + + + 69.328308 + + + + 85.670471 + + + + 87.112427 + + + + 87.112427 + + + + 87.112427 + + + + 86.151123 + + + + 86.151123 + + + + 85.189819 + + + + 82.305908 + + + + 81.825256 + + + + 80.383301 + + + + 79.902649 + + + + 79.902649 + + + + 79.902649 + + + + 66.925049 + + + + 66.444397 + + + + 66.444397 + + + + 66.444397 + + + + 54.428101 + + + + 53.466797 + + + + 52.505493 + + + + 53.466797 + + + + 52.505493 + + + + 50.582886 + + + + 49.621582 + + + + 49.621582 + + + + 48.179626 + + + + 47.218323 + + + + 47.218323 + + + + 47.218323 + + + + 59.234619 + + + + 58.753967 + + + + 58.273315 + + + + 58.273315 + + + + 53.466797 + + + + 53.947449 + + + + 58.273315 + + + + 59.715271 + + + + 59.715271 + + + + 79.902649 + + + + 76.057434 + + + + 70.770264 + + + + 68.367004 + + + + 65.963745 + + + + 63.560486 + + + + 64.041138 + + + + 64.041138 + + + + 59.234619 + + + + 56.831360 + + + + 52.986145 + + + + 51.544189 + + + + 51.544189 + + + + 52.024841 + + + + 52.986145 + + + + 53.466797 + + + + 52.505493 + + + + 50.582886 + + + + 48.660278 + + + + 47.698975 + + + + 46.737671 + + + + 45.776367 + + + + 45.776367 + + + + 46.257019 + + + + 48.179626 + + + + 49.140930 + + + + 50.582886 + + + + 54.428101 + + + + 52.986145 + + + + 51.063538 + + + + 51.063538 + + + + 51.544189 + + + + 49.140930 + + + + 44.815063 + + + + 44.815063 + + + + 45.776367 + + + + 47.218323 + + + + 47.698975 + + + + 47.698975 + + + + 47.218323 + + + + 47.218323 + + + + 47.218323 + + + + 49.621582 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 50.582886 + + + + 50.102234 + + + + 50.102234 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 55.870056 + + + + 55.389404 + + + + 55.389404 + + + + 54.908752 + + + + 54.908752 + + + + 53.947449 + + + + 53.466797 + + + + 53.466797 + + + + 54.428101 + + + + 54.428101 + + + + 51.544189 + + + + 50.582886 + + + + 47.218323 + + + + 46.257019 + + + + 44.815063 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 42.892456 + + + + 42.892456 + + + + 44.815063 + + + + 50.102234 + + + + 51.544189 + + + + 52.505493 + + + + 56.831360 + + + + 58.273315 + + + + 59.715271 + + + + 60.676575 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 58.273315 + + + + 57.792664 + + + + 56.831360 + + + + 55.870056 + + + + 54.908752 + + + + 52.986145 + + + + 51.544189 + + + + 49.140930 + + + + 47.698975 + + + + 47.218323 + + + + 49.140930 + + + + 50.582886 + + + + 51.544189 + + + + 50.102234 + + + + 48.179626 + + + + 42.892456 + + + + 42.892456 + + + + 43.853760 + + + + 45.295715 + + + + 47.218323 + + + + 47.218323 + + + + 47.218323 + + + + 46.737671 + + + + 45.776367 + + + + 44.815063 + + + + 44.334412 + + + + 43.853760 + + + + 43.373108 + + + + 43.373108 + + + + 42.892456 + + + + 42.892456 + + + + 43.373108 + + + + 42.411804 + + + + 40.969849 + + + + 40.489197 + + + + 40.489197 + + + + 39.527893 + + + + 39.047241 + + + + 38.085938 + + + + 38.566589 + + + + 39.047241 + + + + 39.047241 + + + + 37.605286 + + + + 37.605286 + + + + 39.047241 + + + + 38.566589 + + + + 38.566589 + + + + 39.047241 + + + + 39.527893 + + + + 40.489197 + + + + 41.450500 + + + + 41.931152 + + + + 42.411804 + + + + 41.931152 + + + + 41.450500 + + + + 40.489197 + + + + 41.450500 + + + + 43.853760 + + + + 43.853760 + + + + 43.373108 + + + + 42.892456 + + + + 42.411804 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 41.931152 + + + + 41.931152 + + + + 42.411804 + + + + 42.411804 + + + + 42.892456 + + + + 43.373108 + + + + 43.853760 + + + + 45.295715 + + + + 46.737671 + + + + 47.698975 + + + + 47.698975 + + + + 47.698975 + + + + 49.140930 + + + + 49.140930 + + + + 48.660278 + + + + 50.582886 + + + + 51.544189 + + + + 51.544189 + + + + 51.544189 + + + + 52.505493 + + + + 53.947449 + + + + 55.870056 + + + + 57.792664 + + + + 58.273315 + + + + 60.195923 + + + + 61.157227 + + + + 63.079834 + + + + 65.002441 + + + + 65.002441 + + + + 67.405701 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 70.770264 + + + + 70.770264 + + + + 71.731567 + + + + 72.212219 + + + + 71.250916 + + + + 69.808960 + + + + 69.808960 + + + + 68.847656 + + + + 67.886353 + + + + 66.925049 + + + + 65.002441 + + + + 65.002441 + + + + 64.041138 + + + + 65.483093 + + + + 65.483093 + + + + 65.963745 + + + + 66.444397 + + + + 66.444397 + + + + 66.925049 + + + + 67.886353 + + + + 68.367004 + + + + 68.367004 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.770264 + + + + 72.692871 + + + + 71.731567 + + + + 68.367004 + + + + 68.847656 + + + + 68.367004 + + + + 69.808960 + + + + 71.731567 + + + + 73.173523 + + + + 73.654175 + + + + 75.576782 + + + + 76.057434 + + + + 76.538086 + + + + 77.018738 + + + + 77.980042 + + + + 80.383301 + + + + 80.383301 + + + + 81.825256 + + + + 82.305908 + + + + 82.786560 + + + + 82.786560 + + + + 84.228516 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 84.228516 + + + + 84.228516 + + + + 83.747864 + + + + 84.709167 + + + + 85.189819 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 84.709167 + + + + 84.709167 + + + + 83.747864 + + + + 83.747864 + + + + 83.747864 + + + + 83.747864 + + + + 83.267212 + + + + 83.267212 + + + + 83.747864 + + + + 84.228516 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 85.189819 + + + + 85.189819 + + + + 84.709167 + + + + 84.709167 + + + + 84.228516 + + + + 84.228516 + + + + 83.267212 + + + + 82.786560 + + + + 83.267212 + + + + + diff --git a/reference/track/garmin_xt_strk.gpx.rej b/reference/track/garmin_xt_strk.gpx.rej new file mode 100644 index 000000000..f0f797fe7 --- /dev/null +++ b/reference/track/garmin_xt_strk.gpx.rej @@ -0,0 +1,3855 @@ +*************** +*** 0 **** +--- 1,3852 ---- ++ ++ ++ ++ ++ ++ 01234567890123456789012345678 ++ ++ ++ 74.134827 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 62.599182 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.421997 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.863953 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.631775 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 88.073730 ++ ++ ++ ++ 87.593079 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ ++ ++ 2 tracks ++ ++ ++ 74.134827 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 62.599182 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.421997 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.863953 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.631775 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 88.073730 ++ ++ ++ ++ 87.593079 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 67.405701 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 67.405701 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 64.521790 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 64.521790 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 48.660278 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 52.024841 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 64.521790 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 63.560486 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.024841 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 114.509583 ++ ++ ++ ++ 103.454590 ++ ++ ++ ++ 103.454590 ++ ++ ++ ++ 92.880249 ++ ++ ++ ++ 92.880249 ++ ++ ++ ++ 92.880249 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 63.560486 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.024841 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 48.660278 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.334412 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 40.969849 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 39.527893 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 38.085938 ++ ++ ++ ++ 38.566589 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 37.605286 ++ ++ ++ ++ 37.605286 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 38.566589 ++ ++ ++ ++ 38.566589 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 39.527893 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 48.660278 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 67.405701 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.786560 ++ ++ ++ ++ 82.786560 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.786560 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ ++ diff --git a/vecs.c b/vecs.c index b14d429a0..0555dbd27 100644 --- a/vecs.c +++ b/vecs.c @@ -171,6 +171,7 @@ extern ff_vecs_t vpl_vecs; extern ff_vecs_t teletype_vecs; extern ff_vecs_t jogmap_vecs; extern ff_vecs_t wintec_tes_vecs; +extern ff_vecs_t format_garmin_xt_vecs; static vecs_t vec_list[] = { @@ -1011,6 +1012,12 @@ vecs_t vec_list[] = { "Wintec TES file", "tes" }, + { + &format_garmin_xt_vecs, + "garmin_xt", + "Mobile Garmin XT Track files", + NULL + }, #endif // MAXIMAL_ENABLED { NULL,